package com.haidechizi.i18n.common.config;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 配置类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Configuration {

    /**
     * 国际化翻译使用的策略，默认使用simple
     */
    private String strategyName;

    /**
     * 前端或者APP传输语言使用的key
     */
    private String i18nLocale;

    /**
     * 系统默认的语言
     */
    private String defaultLanguage;

    /**
     * 用于过滤国际化的系统，防止重复翻译
     */
    private String currentSystemCode;

    /**
     * 查询国际化平台是否使用缓存
     */
    private boolean i18nUseCache = false;

    /**
     * 国际化平台缓存的过期时间
     */
    private int i18nUseCacheExpireTime = 300;

    public Configuration(SpringConfiguration configuration) {
        this.strategyName = configuration.getStrategyName();
        this.i18nLocale = configuration.getI18nLocale();
        this.defaultLanguage = configuration.getDefaultLanguage();
        this.currentSystemCode = configuration.getCurrentSystemCode();
        this.i18nUseCache = configuration.isI18nUseCache();
        this.i18nUseCacheExpireTime = configuration.getI18nUseCacheExpireTime();
    }
}
